import axios from 'axios'
import { ElMessage } from 'element-plus';
import router from '../router'

//创建axios实例对象
const request = axios.create({
  baseURL: '/api',
  timeout: 600000
 
})
// 添加请求拦截器
request.interceptors.request.use((config) => {
  //获取token 
  const token = localStorage.getItem('token')
  //判断token是否存在
  if(token){
    //将token设置成请求头
    config.headers.token = token
  }
  return config;
},  (error)=> {
  // 对请求错误做些什么
  return Promise.reject(error);
});
//axios的响应 response 拦截器
request.interceptors.response.use(
  (response) => { //成功回调
    return response.data
  },
  (error) => { //失败回调
//判断状态码是否为401
  if (error.status===401){
    ElMessage.error('登录已过期，请重新登录')
    //跳转到登录
    router.push('/login')
  }else{
    ElMessage.error('网络异常，请稍后再试')
  }
    return Promise.reject(error)
  }
)

export default request